<template>
	<div>
		<cl-crud :ref="setRefs('crud')" @load="onLoad">
			<el-row type="flex" align="middle" v-if="is_show">
				<!-- 刷新按钮 -->
				<cl-refresh-btn />
				<cl-export-btn type="success" :columns="table.columns" />
				<!-- 新增按钮 -->
				<!-- <cl-add-btn /> -->
				<!-- 删除按钮 -->
				<!-- <el-button @click="show" size="mini">显示</el-button> -->
				<cl-flex1 />
				<!-- <cl-search-key
				field="name"
				:field-list="[
					{
						label: '姓名',
						value: 'name'
					}
				]"
			></cl-search-key> -->
				<!-- 关键字搜索 -->
				<cl-search-key placeholder="请输入姓名或者学号，支持模糊查询" />
			</el-row>
			<el-row v-if="is_show">
				<cl-filter label="状态">
					<el-select
						size="mini"
						v-model="form.status"
						@change="searchSubmit"
						style="width: 20px"
					>
						<el-option :key="all" :value="null" label="全部"></el-option>
						<el-option
							v-for="item in status_list"
							:key="item.value"
							:value="item.value"
							:label="item.label"
						></el-option>
					</el-select>
				</cl-filter>
				<cl-flex1 />
				<el-button size="mini" type="success" @click="resetSerach">重置</el-button>
			</el-row>
			<el-row v-if="!is_show">
				<el-button size="mini" type="info" @click="show()">返回</el-button>&nbsp;<h3 style="margin-left:20px" >学生信息</h3>
				<cl-flex1 />
				<cl-export-btn type="success" :columns="excelTable.columns" :data="studentClassDetailList" >导出学生上课记录</cl-export-btn>
				<!-- {{studentClassDetailList}} -->
			</el-row>
			<el-row v-if="!is_show">
				<el-descriptions
					title=""
					style="width: 100%"
					border
					size="medium"
					column="6"
					:ref = "setRefs('studentInfo')"
				>
					<el-descriptions-item align="center" label="用户名：">
						<el-tag size="medium" type="danger">{{ studentInfoList.name }}</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="学号：">{{
						studentInfoList.student_id
					}}</el-descriptions-item>
					<el-descriptions-item align="center" label="性别：">
						<el-tag size="mini">{{
							studentInfoList.gender === 1 ? "男" : "女"
						}}</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="出生日期：">
						<el-tag size="small">{{ studentInfoList.birthday}}</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="状态">
						<el-tag
							size="small"
							v-for="item in student_status_list"
							:key="item"
							v-show="item.value === studentInfoList.status ? true : false"
						>
							{{ item.label }}
						</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="暂停时间：">
						<el-tag size="small">{{ studentInfoList.stop_time }}</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="报名日期：">
						<el-tag size="small">{{ studentInfoList.into_date}}</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="手机号：">{{
						studentInfoList.phone
					}}</el-descriptions-item>
					<el-descriptions-item align="center" label="总课时">
						<el-tag size="small" type='warning'>{{ studentInfoList.course_num_total }}</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="消耗课时">
						<el-tag size="small" type='info'>{{ studentInfoList.course_use_num_total }}</el-tag>
					</el-descriptions-item>
					<el-descriptions-item align="center" label="剩余课时">
						<el-tag size="small">{{ studentInfoList.common_rest_num }}</el-tag>
					</el-descriptions-item>
				</el-descriptions>
			</el-row>
			<el-row>
				<!-- 展示区域 -->
				<el-tabs type="border-card" style="width: 100%; height: 100%" v-if="!is_show">
					<!-- <el-tab-pane label="学生基本信息">
						
					</el-tab-pane> -->
					<el-tab-pane
						style="height: 90%; overflow-y: auto; overflow-x: hidden"
						label="财务信息"
					>
						<el-table :data="financeInfoList" :ref = "setRefs('financeTable')"  :max-height="tableHeight" style="width: 100%">
							<el-table-column type="index" width="50" />
							<el-table-column prop="money" label="金额(元)" width="180" />
							<el-table-column prop="into_date" label="入账日期" width="180" />
							<el-table-column prop="common_num" label="常规课数量" />
							<el-table-column prop="special_num" label="特殊课数量" />
							<el-table-column prop="discount" label="优惠情况" />
							<el-table-column prop="note" label="备注" />
						</el-table>
					</el-tab-pane>
					<el-tab-pane
						style="height: 90%; overflow-y: auto; overflow-x: hidden"
						label="分班信息"
					>
						<el-table :data="classgroupInfoList" :ref = "setRefs('classgroupTable')" :max-height="tableHeight" style="width: 100%">
							<el-table-column type="index" width="50" />
							<el-table-column prop="classFullName" label="班级名称" />
							<el-table-column prop="course_type" label="班级课程类型" width="130" />
							<el-table-column prop="class_type" label="班级类型" width="130">
								<template #default="scope">
									<el-tag
										size="mini"
										v-for="item in class_type_list"
										:key="item.value"
										v-show="
											item.value === parseInt(scope.row.class_type)
												? true
												: false
										"
										>{{ item.label }}</el-tag
									>
								</template>
							</el-table-column>
							<el-table-column prop="class_teacher" label="班级老师" width="120">
								<template #default="scope">
									<el-tag
										size="mini"
										v-for="item in class_teacher_list"
										:key="item"
										v-show="
											item.value === parseInt(scope.row.class_teacher)
												? true
												: false
										"
										>{{ item.label }}</el-tag
									>
								</template>
							</el-table-column>
							<el-table-column prop="classroomName" label="上课教室" width="200" />
							<el-table-column prop="start_date" label="开班日期" width="100">
								<template #default="scope">
									<el-tag size="mini">{{
										scope.row.start_date.slice(0, 10)
									}}</el-tag>
								</template>
							</el-table-column>
							<el-table-column prop="end_date" label="结班日期" width="100">
								<template #default="scope">
									<el-tag size="mini">{{
										scope.row.end_date.slice(0, 10)
									}}</el-tag>
								</template>
							</el-table-column>
							<el-table-column prop="class_week" label="每周上课时间" width="170">
							</el-table-column>
						</el-table>
					</el-tab-pane>
					<el-tab-pane
						label="上课记录"
					>
						<el-table
							:ref = "setRefs('studentClassTable')"  
							:max-height="tableHeight"
							border
							show-summary
							:data="studentClassDetailList"
						>
							<el-table-column type="index" width="50" />
							<el-table-column prop="section_theme" label="课程主题" width="180" />
							<el-table-column
								prop="course_big_theme"
								label="课程大主题"
								width="170"
							/>
							<el-table-column prop="teacher" label="授课教师" width="100" />
							<el-table-column
								prop="class_date"
								label="授课日期"
								width="110"
								:sortable="true"
							>
								<template #default="scope">
									<el-tag size="mini">{{
										scope.row.class_date.slice(0, 10)
									}}</el-tag>
								</template>
							</el-table-column>
							<el-table-column
								prop="common_use_num"
								label="常规课消耗课时"
								width="80"
							/>
							<el-table-column
								prop="special_use_num"
								label="特殊课消耗课时"
								width="80"
							/>
							<el-table-column prop="teaching_class" label="上课班级" width="200">
								<template #default="scope">
									<el-tag size="mini" >{{scope.row.teaching_class}}</el-tag>
								</template>
							</el-table-column>
								
							<el-table-column
								prop="learning_goals"
								label="课程学习目标"
								width="200"
							/>
							<el-table-column prop="rate" label="课堂评分" width="150">
								<template #default="scope">
									<el-rate disabled text-color="#ff9900" v-model="scope.row.rate">
									</el-rate>
								</template>
							</el-table-column>
							<el-table-column prop="comments" label="课堂评价" width="150" />
						</el-table>
					</el-tab-pane>
				</el-tabs>

				<!-- 数据表格 -->
				<cl-table :ref="setRefs('table')" v-bind="table" v-if="is_show">
					<template #column-birthday="{ scope }">
						{{ scope.row.birthday.slice(0, 10) }}
					</template>
					<template #column-into_date="{ scope }">
						{{ scope.row.into_date.slice(0, 10) }}
					</template>
					<template #column-common_rest_num="{ scope }">
						<el-tag><span style="font-size:15px">{{ scope.row.common_rest_num }}</span></el-tag>
					</template>
					<template #column-special_rest_num="{ scope }">
						<el-tag type="info"><span style="font-size:15px">{{ scope.row.special_rest_num }}</span></el-tag>
					</template>
					<template #slot-btn="{ scope }">
						<el-button type="text" size="mini" @click="show(scope.row.id,scope.row.common_nums,scope.row.common_use_nums,scope.row.common_rest_num)"
							>查看</el-button
						>
					</template>
				</cl-table>
				<!-- <able v-if="is_show1"></able> -->
			</el-row>

			<el-row type="flex">
				<cl-flex1 />
				<!-- 分页控件 -->
				<cl-pagination v-if="is_show" />
			</el-row>

			<!-- 新增、编辑 -->
			<cl-upsert :ref="setRefs('upsert')" v-bind="upsert" @opened="onUpsertOpen" />
		</cl-crud>
	</div>
</template>

<script lang="ts">
import { defineComponent, inject, nextTick, onMounted, reactive, ref } from "vue";
import { CrudLoad, Upsert, Table } from "cl-admin-crud-vue3/types";
import { useRefs } from "/@/core";
import { getNowFormatDate } from "/@/core/utils";
import { uniqueArray } from "/@/core/utils/loeeutils";

export default defineComponent({
	setup() {
		const { refs, setRefs } = useRefs();
		// 请求服务
		const service = inject<any>("service");

		const is_show = ref(true);
		const is_show1 = ref(false);

		// 导出按钮列配置
		const excelTable = reactive({
      columns: [
        {
          label: "课程主题",
          prop: "section_theme",
          minWidth: 150,
        },
        {
          label: "课程大主题",
          prop: "course_big_theme",
          minWidth: 150,
        },
        {
          label: "授课教师",
          prop: "teacher",
          minWidth: 150,
        },
        {
          label: "上课时间",
          prop: "class_date",
          minWidth: 150,
        },
        // {
        //   label: "内圆",
        //   prop: "outer_circle",
        //   minWidth: 150
        // },

        {
          label: "常规课消耗课时",
          prop: "common_use_num",
          minWidth: 150,
        },
        {
          label: "特殊课消耗课时",
          prop: "special_use_num",
          minWidth: 150,
        },
        {
          label: "上课班级",
          prop: "teaching_class",
          minWidth: 150,
        },
        {
          label: "课程学习目标",
          prop: "learning_goals",
          minWidth: 150,
        },
        // {
        //   label: "入库时间",
        //   prop: "into_time",
        //   minWidth: 150,
        // },
        {
          label: "课堂评分",
          prop: "rate",
          minWidth: 150,
        },
        {
          label: "课堂评价",
          prop: "comments",
          minWidth: 150,
        },
        // {
        //   label: "紧急程度",
        //   prop: "emergency_level",
        //   minWidth: 150,
        //   dict: [
        //     {
        //       label: "正常",
        //       value: 1,
        //       type: "info",
        //     },
        //     {
        //       label: "加急",
        //       value: 2,
        //       type: "danger",
        //     },
        //   ],
        // },
        // {
        //   label: "加工状态",
        //   prop: "processing_state",
        //   minWidth: 150,
        //   dict: [
        //     {
        //       label: "待加工",
        //       value: 1,
        //       type: "danger",
        //     },
        //     {
        //       label: "已完成",
        //       value: 2,
        //       type: "info",
        //     },
        //   ],
        // },
      ],
    });

		// 导出按钮数据

		// 打开对话的钩子函数
		const onUpsertOpen = (data, { submit, done, close }) => {};

		// 自定义筛选
		const form = ref({
			status: 2
		});

		// 筛选按钮提交
		const searchSubmit = function () {
			console.log(form.value.status);
			refs.value.crud.refresh({ ...form.value });
		};

		// 重置筛选条件

		const resetSerach = function () {
			form.value = {
				status: null
			};
			refs.value.crud.refresh({ ...form.value });
		};

		// 定义学生状态
		const status_list = ref([]);

		// 获取学生状态
		const getStudentNum = async function () {
			const res = await service.base.system.param.list({ keyName: "studentStatus" });
			// 将json字符串转换为json对象
			let ret = eval("(" + res[0].data + ")");
			ret.forEach((item) => {
				status_list.value.push({
					value: item.value,
					label: item.label
				});
			});
		};

		onMounted(() => {
			// 获取学生列表
			getStudentNum();
			searchSubmit()
		});

		// 新增、编辑配置
		const upsert = reactive<Upsert>({
			items: [
				{
					type: "tabs",
					props: {
						labels: [
							{
								label: "学生基本信息",
								value: "students"
							},
							{
								label: "财务信息",
								value: "financial"
							}
						]
					}
				},
				{
					prop: "name",
					label: "姓名",
					span: 24,
					group: "students",
					component: {
						name: "el-input",
						props: {
							placeholder: "请输入姓名"
						}
					},
					rules: {
						required: true,
						message: "姓名不能为空"
					}
				},
				{
					prop: "student_id",
					label: "学号",
					span: 24,
					group: "students",
					component: {
						name: "el-input",
						disabled: true,
						props: {
							placeholder: "学号自动生成"
						}
					}
				},
				{
					prop: "gender",
					label: "性别",
					span: 24,
					group: "students",
					value: 1,
					component: {
						name: "el-radio-group",
						options: [
							{
								label: "男",
								value: 1
							},
							{
								label: "女",
								value: 0
							},
							{
								label: "未知",
								value: 2
							}
						]
					},
					rules: {
						required: true,
						message: "性别不能为空"
					}
				},
				{
					prop: "birthday",
					label: "出生日期",
					span: 24,
					group: "students",
					component: {
						name: "el-date-picker",
						props: {
							placeholder: "请选择出生日期"
						}
					},
					rules: {
						required: true,
						message: "出生日期不能为空"
					}
				},
				{
					prop: "phone",
					label: "手机号",
					span: 24,
					group: "students",
					component: {
						name: "el-input",
						props: {
							placeholder: "请输入手机号"
						},
						maxlength: 11
					},
					rules: {
						required: true,
						message: "输入的手机号码格式有误！",
						pattern:
							/^(13[0-9]|14[579]|15[0-3,5-9]|16[6]|17[0135678]|18[0-9]|19[89])\d{8}$/,
						min: 11,
						max: 11
					}
				},
				{
					prop: "status",
					label: "状态",
					span: 24,
					value: 2,
					group: "students",
					component: {
						name: "el-radio-group",
						options: [
							{
								label: "在读",
								value: 2
							},
							{
								label: "停课",
								value: 1
							},
							{
								label: "停学",
								value: 0
							}
						]
					},
					rules: {
						required: true,
						message: "状态不能为空"
					}
				},
				{
					prop: "into_date",
					label: "报名日期",
					span: 24,
					group: "students",
					value: getNowFormatDate(),
					component: {
						name: "el-date-picker",
						props: {
							placeholder: "请选择报名日期"
						}
					},
					rules: {
						required: true,
						message: "报名日期不能为空"
					}
				},
				{
					prop: "stop_time",
					label: "暂停时间",
					span: 24,
					group: "students",
					component: {
						name: "el-date-picker",
						props: {
							placeholder: "请选择暂停时间"
						}
					}
				},
				{
					prop: "note",
					label: "备注",
					span: 24,
					group: "students",
					component: {
						name: "el-input",
						type: "textarea",
						size: "medium",
						props: {
							placeholder: "请输入备注"
						}
					}
				},
				{
					prop: "money",
					label: "金额（元）",
					span: 12,
					hidden: ":isEdit",
					group: "financial",
					component: {
						name: "el-input-number",
						props: {
							placeholder: "请输入金额"
						}
					},
					rules: {
						required: true,
						message: "金额不能为空"
					}
				},
				{
					prop: "into_date",
					label: "入账日期",
					span: 12,
					hidden: ":isEdit",
					group: "financial",
					value: getNowFormatDate(),
					component: {
						name: "el-date-picker",
						props: {
							placeholder: "请选择入账日期"
						}
					},
					rules: {
						required: true,
						message: "入账日期不能为空"
					}
				},
				{
					prop: "common_num",
					label: "常规课课时",
					span: 12,
					hidden: ":isEdit",
					group: "financial",
					value: 40,
					component: {
						name: "el-input-number",
						props: {
							placeholder: "请输入常规课课时"
						}
					},
					rules: {
						required: true,
						message: "常规课课时不能为空"
					}
				},
				{
					prop: "special_num",
					label: "特殊课课时",
					span: 12,
					hidden: ":isEdit",
					value: 0,
					group: "financial",
					component: {
						name: "el-input-number",
						props: {
							placeholder: "请输入特殊课课时"
						}
					},
					rules: {
						required: true,
						message: "特殊课课时不能为空"
					}
				},
				{
					prop: "discount",
					label: "优惠情况",
					hidden: ":isEdit",
					span: 24,
					group: "financial",
					component: {
						name: "el-input",
						type: "textarea",
						size: "medium",
						props: {
							placeholder: "请输入优惠情况"
						}
					}
				},
				{
					prop: "financeNote",
					label: "备注",
					span: 24,
					hidden: ":isEdit",
					group: "financial",
					component: {
						name: "el-input",
						type: "textarea",
						size: "medium",
						props: {
							placeholder: "请输入财务备注"
						}
					}
				}
			]
		});

		// 表格配置
		const table = reactive<Table>({
			columns: [
				{
					type: "selection",
					width: 60
				},
				{
					type: "index",
					label: "#",
					width: 60
				},
				{
					prop: "name",
					label: "姓名",
					sortable: true
				},
				{
					prop: "student_id",
					label: "学号",
					sortable: true
				},
				{
					prop: "gender",
					label: "性别",
					width: 90,
					dict: [
						{
							label: "男",
							value: 1,
							type: "success"
						},
						{
							label: "女",
							value: 0,
							type: "danger"
						},
						{
							label: "未知",
							value: 2,
							type:'info'
						}
					]
				},
				// {
				// 	prop: "birthday",
				// 	label: "出生日期",
				// 	sortable: true
				// },
				{
					prop: "phone",
					label: "手机号",
				},
				{
					prop: "status",
					label: "状态",
					width: 90,
					sortable: true,
					dict: [
						{
							label: "停学",
							value: 0,
							type: "success"
						},
						{
							label: "停课",
							value: 1,
							type: "danger"
						},
						{
							label: "在读",
							value: 2,
							type: "info"
						}
					]
				},
				{
					prop: "into_date",
					label: "报名日期",
					width: 140,
					sortable: true
				},
				{
					prop: "common_nums",
					label: "常规课总课时",
					width: 70,
					sortable: true
				},
				{
					prop: "common_rest_num",
					label: "常规课剩余课时",
					width: 85,
					sortable: true
				},
				{
					prop: "special_nums",
					label: "特殊课总课时",
					width: 70,
					sortable: true
				},
				{
					prop: "special_rest_num",
					label: "特殊课剩余课时",
					width: 85,
					sortable: true
				},
				{
					label: "操作",
					type: "op",
					width: 80,
					buttons: ["slot-btn"]
				}
			]
		});

		// crud 加载
		function onLoad({ ctx, app }: CrudLoad) {
			// 绑定 service
			ctx.service(service.studentService).done();
			app.refresh();
		}

		const studentInfoList = ref({});
		const financeInfoList = ref([]);
		const classgroupInfoList = ref([]);
		const studentClassDetailList = ref([]);
		const ClassgroupList = ref([]);

		const getClassgroupList = async () => {
			const res = await service.classgroupService.page();

			res.list.forEach((item) => {
				ClassgroupList.value.push({
					id: item.id,
					classFullName: item.class_date + item.class_name + item.class_number
				});
			});
		};
		const tableHeight = ref(0)


		const show = async (studentId,course_num_total,course_use_num_total,common_rest_num) => {
			studentInfoList.value = [];
			financeInfoList.value = [];
			classgroupInfoList.value = [];
			studentClassDetailList.value = [];
			is_show.value = !is_show.value;
			is_show1.value = !is_show1.value;
			console.log(is_show.value);
			if (studentId) {
				const student = await service.studentService.list({ id: studentId });
				if (student[0].stop_time){
					student[0].stop_time = student[0].stop_time.slice(0, 10)
				}
				studentInfoList.value = {
					name: student[0].name,
					into_date: student[0].into_date.slice(0,10),
					student_id: student[0].student_id,
					gender: student[0].gender,
					status: student[0].status,
					stop_time: student[0].stop_time,
					phone: student[0].phone,
					birthday: student[0].birthday.slice(0,10),
					course_num_total:course_num_total,
					course_use_num_total:course_use_num_total,
					common_rest_num:common_rest_num
				};
				const finance = await service.financeService.list({ student: studentId });
				finance.forEach((item) => {
					financeInfoList.value.push({
						money: item.money,
						into_date: item.into_date,
						common_num: item.common_num,
						special_num: item.special_num,
						discount: item.discount,
						note: item.note
					});
				});

				const classgroup = await service.classgroupService.list({ student_id: studentId });
				classgroup.forEach((item) => {
					classgroupInfoList.value.push({
						classFullName: item.class_date + item.class_name + item.class_number,
						course_type: item.course_id,
						class_type: item.class_type,
						class_teacher: item.class_teacher,
						classroomName: item.classroomName,
						start_date: item.start_date,
						end_date: item.end_date,
						class_week:
							item.class_week + item.class_start_time + "-" + item.class_end_time
					});
				});

				const studentClassDetail = await service.classTeachingService.classStudentsClassDetail({
					id: studentId
				});
				console.log(studentClassDetail);

				// 去重
				// let ret =	uniqueArray(studentClassDetail,"id")

				studentClassDetail.forEach((item) => {
					console.log(item, 1111);
					// 过滤请假的记录
					console.log(Boolean(item.isLeave))
					
					if (Boolean(item.isLeave) === false && Boolean(item.isDelete)===false) {
						studentClassDetailList.value.push({
							section_theme: item.section_theme,
							course_big_theme: item.phase_name,
							teacher: item.teacherName,
							class_date: item.class_date,
							teaching_class: item.classgroupName,
							learning_goals: item.learning_goals,
							rate: parseFloat(item.rate),
							comments: item.comments,
							common_use_num: item.common_use_num,
							special_use_num: item.special_use_num
						});
					}
				});
				await nextTick(() => {
					tableHeight.value = document.body.clientHeight - (refs.value.studentInfo.$el.clientHeight + 310);
				});
				console.log(studentClassDetailList);
			}
			// 刷新el-table组件
			refs.value.crud.refresh();
		};

		// 监听窗口大小变化
		window.onresize = function () {
			if (refs.value.studentInfo){
				tableHeight.value = document.body.clientHeight - (refs.value.studentInfo.$el.clientHeight + 310);
			}
			// alert(tableHeight.value)
		};

		// 定义班级类型
		const class_type_list = ref([]);
		// 获取上课学期
		const getClassType = async function () {
			const res = await service.base.system.param.list({ keyName: "class_type" });
			// 将json字符串转换为json对象
			let ret = eval("(" + res[0].data + ")");
			ret.forEach((item) => {
				class_type_list.value.push({
					value: item.value,
					label: item.label,
					type: "success"
				});
			});
		};

		// 定义班级类型
		const student_status_list = ref([]);
		// 获取上课学期
		const getStudentStatus = async function () {
			const res = await service.base.system.param.list({ keyName: "studentStatus" });
			// 将json字符串转换为json对象
			let ret = eval("(" + res[0].data + ")");
			ret.forEach((item) => {
				student_status_list.value.push({
					value: item.value,
					label: item.label,
					type: "success"
				});
			});
		};

		// 定义班级类型
		const class_teacher_list = ref([]);
		// 获取上课学期
		const getClassTeacher = async function () {
			const res = await service.teacherService.list();
			// 将json字符串转换为json对象
			const filteredItems = res.filter(item => item.is_work === 1);

			filteredItems.forEach((item) => {
				teacher_list.value.push({
					value: item.id,
					label: item.name,
					type: "danger"
				});
			});
		};

		onMounted(async () => {
			await getClassType();

			await getClassTeacher();

			await getStudentStatus();

			await getClassgroupList();
			console.log(ClassgroupList.value);
		});

		const visible = ref(false);

		function showStudentInfoDialog() {
			visible.value = true;
			// alert(visible.value);
		}

		return {
			refs,
			setRefs,
			upsert,
			table,
			onLoad,
			is_show,
			is_show1,
			show,
			// 筛选
			form,
			searchSubmit,
			resetSerach,
			status_list,
			onUpsertOpen,
			// 学生详细信息对话框
			visible,
			showStudentInfoDialog,
			// 学生基本信息
			studentInfoList,
			// 财务信息
			financeInfoList,
			// 学生分班情况
			classgroupInfoList,
			// 学生上课明细
			studentClassDetailList,
			// 所有教师列表
			class_teacher_list,
			// 所有班级类型
			class_type_list,
			// 学生状态
			student_status_list,
			// 获取所有班级
			getClassgroupList,
			// 所有分班列表
			ClassgroupList,
			// 表格最大高度
			tableHeight,
			// 导出按钮配置
			excelTable
		};
	}
});
</script>

function getNowFormatDate(): any {
  throw new Error("Function not implemented.");
}
